import jmacApi from "../exports/jmacApi";
import { ExtendedMessageContext } from "../types/contexts";

const prefixRegexp = new RegExp(`^${process.env.PREFIX}`, "i");
const botTagRegexp = new RegExp(`${process.env.BOT_TAG}`, "i");

export default async (context: ExtendedMessageContext, n) => {
    if (
        context.chat.type !== "private" &&
        !prefixRegexp.test(context.text) &&
        !botTagRegexp.test(context.text)
    )
        return;
    const ping = await jmacApi.ping();
    if (!ping.result)
        return context.reply(
            `Невозможно подключиться к серверам Жмака.\nВозможно, бот испытывает повышенную нагрузку или находится на техническом обслуживании. В любом случае, попытайтесь позже снова\n\n_Попытка подключения вернула ${ping.code} - ${ping.message}_`,
            { parse_mode: "markdown" }
        );

    if (prefixRegexp.test(context.text)) {
        context.referenceText = context.text;
        context.notROText = context.referenceText
            .replace(prefixRegexp, "")
            .trim();
    } else if (botTagRegexp.test(context.text)) {
        context.referenceText = context.text;
        context.notROText = context.referenceText
            .replace(botTagRegexp, "")
            .trim();
    } else {
        context.referenceText = context.text;
        context.notROText = undefined;
    }

    n();
};
